Computer based information systems are in widespread use today, ranging from simple small area file-sharing networks to global and sophisticated computer networked databases which provide the backbone for today's World Wide Web.
Generally, a user, such as a system administrator, administers the operations of the computer networked databases utilizing a client application such as a Windows™ application, which resides at the user's location such as on the user's personal computer. The client application is typically interfaced to a communication subsystem which is in turn interfaced to the networked database at a local or remote location. Pursuant to the issuance of a system command message by a user for administrating the database, such as a command to create a database backup, the client application forwards the message to the communication system which in turn communicates with the computer networked database for performing the desired task.
One form of a computer networked database is based on a client-server database network model in which a client-end having an application layer and a middleware communication layer communicates with a server-end having a database-interface layer interfacing with a database server communicating with one or more databases. In this model, a system command message issued at the client-end, such as a Windows™ operating environment, is received in the application layer, such as graphical user interface (GUI) layer and forwarded to the middleware communication layer. The middleware communication layer then communicates the message to the server-end, such as a Clearpath Master Control Program (MCP) environment, where the message is received by the database-interface layer for execution in the database server, such as an Enterprise Database Server.
While in widespread use today, the foregoing client-server database network model is not without shortcomings. Generally, the system command messages contain function-calls and sub-function calls for execution by the database-interface layer. Typically, a function call such as “Create-Backup” invokes execution of at least one task by the database-interface layer such creating a backup of the database. Each function call is comprised of one or more sub-function calls, each of which each invokes execution of a portion of the task associated with the function call. For example, a “Create-Backup” function call may contain sub-function calls for reading of the data in the original database, creating a new database structure for the backup database, and inserting the read data into the backup database. A function-call may be comprised of a larger number of sub-function calls, such as a hundred or more sub-function calls, for accomplishing a desired task.
Currently, a middleware communication layer which receives the system command message first extracts and validates the function calls and their associated sub-function calls, and then forwards them to the database-interface layer one sub-function at a time, for execution. The database-interface layer then executes the sub-function call on the database server, receives execution results from the database server and relays this result back to the middleware communication layer before receiving the next sub-function call for execution. The foregoing sequence of operations for execution of a desired task incurs a disadvantageously large amount of delay overhead in transmission of each sub-function and increases the exposure of the execution of the command message to transmission errors. In addition, it results in an inefficient use of resources for both the middleware communication layer, the server-end database components and the transmission mediums involved.
Another disadvantage associated with the current approach arises when a new command type, such as a new function call and its associated sub-function calls, is to be added to the repertoire of commands executed by the database-interface layer. In this case, an often extensive set of software modifications and compilations must be disadvantageously made in the middleware communication layer so that the middleware communication layer can recognize the new function call and all its associated sub-function calls for a successful validation, prior to the forwarding to the database-interface layer one sub-function at a time for execution. The foregoing set of software modifications and compilations disadvantageously preoccupies the system resources and introduces further delay into the overall execution of a system command message.
An ongoing need thus exists to minimize the involvement of the middleware communication layer in the execution of a system command message in a client-server database network.